
#ifndef RENDERAREA_H
#define RENDERAREA_H

#include <QBrush>
#include <QPen>
#include <QPixmap>
#include <QWidget>
#include <QFont>
#include <QString>
#include <complex>
#include <list>
#include <iostream>
#include "robot.h"

//! [0]
class RenderArea : public QWidget
{
    Q_OBJECT

public:

    RenderArea(QWidget *parent = 0);

    QSize minimumSizeHint() const;
    QSize sizeHint() const;

public slots:
    void setPen(const QPen &pen);
    void setMap(const std::complex<int> _mapsize,int** _map);
    void setRobots(const std::list<robot*> _robots);


protected:
    void paintEvent(QPaintEvent *event);

private:
    std::list<robot*> Robots;
    std::complex<int> MapSize;
    int** Map;
    QPen pen;
    QBrush brush;
    bool antialiased;
    bool transformed;
    QPixmap pixmap;
};
//! [0]

#endif
